using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MyClever.Lib;

namespace MyClever.Lib
{
    /// <summary>
    /// The <see cref="IPlugin"/> is the default interface for every <see cref="MissionPlugin"/>.
    /// It ensures that every <see cref="SourcePlugin"/> and <see cref="ActionPlugin"/> contains the most relevant methods and members.
    /// </summary>
    public interface IPlugin
    {
        IPluginHost Host { get; set; }

        void Initialize();
        void Dispose();

        void Generate(ref MissionPluginPackageSet packages);
    }

    /// <summary>
    /// Todo? 
    /// </summary>
    public interface IPluginHost
    {
        //void RegisterPlugin(string pluginName);
    }
}
